home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKit / Examples / IconTester / IconController.m < prev    next >
Text File  |  1996-02-08  |  2KB  |  104 lines

  1.  
  2. #import "IconController.h"
  3.  
  4. @implementation IconController
  5.  
  6.  
  7. //** designated initializer
  8. - init
  9. {
  10.     List    *temp;
  11.  
  12.     if (self = [super init]) {
  13.         animator = [[MiscAppIconAnimator alloc] init];
  14.  
  15.         //** create array of images
  16.         temp = [[List alloc] init];
  17.         [temp addObject:[NXImage findImageNamed:"Bronto"]];
  18.         [temp addObject:[NXImage findImageNamed:"Raptor"]];
  19.         [temp addObject:[NXImage findImageNamed:"TriTop"]];
  20.         [animator setImageArray:temp];
  21.  
  22.         //** create array of pattern order
  23.         temp = [[List alloc] init];
  24.         [temp addObject:(id)0];
  25.         [temp addObject:(id)1];
  26.         [temp addObject:(id)2];
  27.         [temp addObject:(id)1];
  28.         [temp addObject:(id)2];
  29.         [temp addObject:(id)1];
  30.         [temp addObject:(id)2];
  31.         [temp addObject:(id)1];
  32.         [temp addObject:(id)2];
  33.         [temp addObject:(id)1];
  34.         [temp addObject:(id)2];
  35.         [temp addObject:(id)1];
  36.         [temp addObject:(id)0];
  37.         [animator setAnimationPattern:temp];
  38.  
  39.         [animator setPatternLoops:1 ];
  40.         return self;
  41.     }
  42.     return nil;
  43. }
  44.  
  45. -free
  46. {
  47.     if (animator)
  48.         [animator free];
  49.     return [super free];
  50. }
  51.  
  52. - animate:sender
  53. {
  54.     [animator startAnimation:sender];
  55.     [button setEnabled:YES];
  56.     return self;
  57. }
  58.  
  59. - stopAnimate:sender
  60. {
  61.     [animator stopAnimation];
  62.     [button setEnabled:NO];
  63. //    [animator displayImageAtIndex:2];
  64.     return self;
  65. }
  66.  
  67. - save:sender
  68. {
  69.     NXTypedStream *stream;
  70.  
  71.     //** open file and save data
  72.     stream = NXOpenTypedStreamForFile("/Net/java/Users/Developers/t641_craig/anim2.tst", NX_WRITEONLY);
  73.     if (!stream)
  74.     {
  75.         NXRunAlertPanel("File Alert", "Write failed!", NULL, NULL, NULL);
  76.         return nil;
  77.     }
  78.     NXWriteRootObject(stream, animator);    //** archive object
  79.     NXCloseTypedStream(stream);
  80.  
  81.     return self;
  82. }
  83.  
  84. - load:sender
  85. {
  86.     NXTypedStream *stream;
  87.  
  88.     //** open file and read data
  89.     stream = NXOpenTypedStreamForFile("/Net/java/Users/Developers/t641_craig/anim2.tst", NX_READONLY);
  90.     if (!stream)
  91.     {
  92.         NXRunAlertPanel("File Alert", "Read failed!", NULL, NULL, NULL);
  93.         return nil;
  94.     }
  95.  
  96.     animator = NXReadObject(stream);        //** retrieve object
  97.     NXCloseTypedStream(stream);
  98.     return self;
  99. }
  100.  
  101.  
  102.  
  103. @end
  104.